/**
 * 
 * gislin
 * 2015年12月22日
 */
package com.szholly.pro.watergas_server.common.data;

import java.util.HashMap;

/**
 * 数据缓存管理
 * @author gislin
 * 2015年12月22日
 */
public class DataCacheManager {
	
	private static HashMap<String, DataCache> cacheMap = new HashMap<>() ;
	
	/**
	 * 增加缓存，默认过期时间：1分钟
	 * gislin
	 * 2015年12月22日
	 * @param key 缓存的键名
	 * @param obj 缓存的数据
	 */
	public static void addCache(String key,Object obj){
		addCache(key, obj, 300);
	}
	
	/**
	 * 增加缓存
	 * gislin
	 * 2015年12月22日
	 * @param key 缓存的键名
	 * @param obj 缓存的数据
	 * @param expireSeconds 缓存的过期时间，单位为秒
	 */
	public static void addCache(String key,Object obj,int expireSeconds){
		
		DataCache dataCache = new DataCache();
		dataCache.setCache(obj);
		dataCache.setExpireSeconds(expireSeconds);
		dataCache.setKey(key);
		
		cacheMap.put(key, dataCache);
	}
	
	/**
	 * 获取缓存
	 * gislin
	 * 2015年12月22日
	 * @param key
	 * @return
	 */
	public static Object getCache(String key){
		
		if(!cacheMap.containsKey(key)){
			return null;
		}
		
		DataCache cache = cacheMap.get(key);
		
		if(cache.isExpired()){
			cacheMap.remove(key);
			System.out.println("缓存过期");
			return null;
		}
		System.out.println("从缓存获取数据");
		return cache.getCache();
	}

}
